package com.plian.system.entity.fr.indicators;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.plian.Tools.DateUtil;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.HashMap;
import java.util.List;

@Data
@TableName("fr_base_main_indicators")
@EqualsAndHashCode(callSuper = true)
@ApiModel("主要预算指标申报")
public class BaseMainIndicators extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "填报单位")
    private String fillingUnitId;

    @DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
    @JsonFormat(pattern = DateUtil.PATTERN_DATE)
    @ApiModelProperty(value = "上报时间")
    private Date fillingDate;

    @ApiModelProperty(value = "上报年度")
    private String fillingYear;

    @ApiModelProperty(value = "经办人")
    private String chargePerson;

    @ApiModelProperty(value = "联系方式")
    private String telephone;

    @ApiModelProperty(value = "是否深化预算重点子企业")
    private Integer isDeepeningBudget;

    @ApiModelProperty(value = "类型 1集团合并 2二级企业合并 3虚拟节点")
    private Integer baseType;

    @ApiModelProperty(value = "模块类型")
    private String formType;

    @ApiModelProperty(value = "审批人")
    private String approvedUser;

    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    @JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
    @ApiModelProperty(value = "审批时间")
    private Date approvedTime;

    @ApiModelProperty(value = "审批意见")
    private String approvedOpinion;

    @ApiModelProperty(value = "营业收入 变动趋势说明")
    private String changeReason1;

    @ApiModelProperty(value = "利润总额 变动趋势说明")
    private String changeReason2;

    @ApiModelProperty(value = "期末净资产 变动趋势说明")
    private String changeReason3;

    @ApiModelProperty(value = "预留 变动趋势说明")
    private String changeReason4;

    @ApiModelProperty(value = "预留 变动趋势说明")
    private String changeReason5;

    @ApiModelProperty(value = "预留 变动趋势说明")
    private String changeReason6;

    @ApiModelProperty(value = "附件")
    @TableField(exist = false)
    private List<HashMap> docList;
}
